#include "qmydatabase.h"

MyDatabase::MyDatabase(QString daName,QString newName)
{
    //加载数据库驱动
    db = QSqlDatabase::addDatabase("QSQLITE",newName);
    QString name = QString(daName);
    //创建并设置数据库的名字
    db.setDatabaseName(QString("C:/Users/86151/Documents/QT_project/%1").arg(name));//数据库文件名，可以是相对路径或绝对路径
    //打开数据库
    if(db.open())
    {
        qDebug() << "连接数据库成功";
    }
    else
    {
        qDebug() << "连接数据库失败" << db.lastError().text();
    }
    query = new QSqlQuery(db);//实例化查询对象
}

//执行查询操作(增删改查...)
QSqlQuery *MyDatabase::execSql(QString sql)
{
    if(query->exec(sql) == false)
    {
        qDebug() << "指向SQL语句失败" << sql;
        return NULL;
    }
    else
    {
        return query;//返回查询对象，因为在执行查询语句时他里面包含了查询的结果
    }
}

void MyDatabase::closeDB()
{
    db.close();
}

// 析构函数，确保在对象销毁时自动关闭数据库连接
MyDatabase::~MyDatabase()
{
    closeDB();  // 调用closeDB()方法，确保资源被释放
}
